package com.xframe.xdal.core.model;

import com.xframe.xdal.core.serialize.proc.ISerializeProc;
/**
 * 定义了一个对象如何序列化成JSON的配置接口
 *
 * @author xufeng
 * @version 1.0
 * @date 2022-09-19
 */
public interface IJsonModel {
    /**
     * 字段名
     */
    String getName();
    /**
     * 映射字段
     */
    String getMapName();
    /**
     * 关联对象
     */
    String getRefModelCode();
    /**
     * 关联类型
     */
    String getRefModelType();
    /**
     * 标记
     */
    String getFlag();
    /**
     * 处理类
     */
    String getProcClass();
    /**
     * 参数
     */
    String getClassArgs();
    /**
     * 是否一个引用其他的配置段
     */
    boolean isRefModel();
    /**
     * 是否引用一个对象
     */
    boolean isRefObj();
    /**
     * 是否引用一个数组
     */
    boolean isRefArray();
    /**
     * 是否有使用序列化处理器
     */
    boolean hasSerializeProc();
    /**
     * 获得一个序列化处理器
     */
    ISerializeProc getSerializeProc();
}
